/*
    二分搜索

    前置知识：无
    建议：1）会的同学可以跳过，2、3、4）不要跳过

    1）在有序数组中确定num存在还是不存在
    2）在有序数组中找>=num的最左位置
    3）在有序数组中找<=num的最右位置
    4）二分搜索不一定发生在有序数组上（比如寻找峰值问题）
    5）“二分答案法”这个非常重要的算法，很秀很厉害，将在【必备】课程里继续

    如果数组长度为n，那么二分搜索搜索次数是log n次，以2为底
    下节课讲时间复杂度，二分搜索时间复杂度O(log n)

    ================================================

    二分搜索不一定发生在有序数组上

    峰值元素是指其值严格大于左右相邻值的元素
    给你一个整数数组 nums，已知任何两个相邻的值都不相等
    找到峰值元素并返回其索引
    数组可能包含多个峰值，在这种情况下，返回 任何一个峰值 所在位置即可。
    你可以假设 nums[-1] = nums[n] = 无穷小
    你必须实现时间复杂度为 O(log n) 的算法来解决此问题。
    测试链接 : https://leetcode.cn/problems/find-peak-element/


*/